package midalgorithms.arrandstr;

public class _04LengthOfLongestSubstring {
    public static int lengthOfLongestSubstring(String s) {
        int len = s.length();
        if (len < 2){
            return len;
        }
        StringBuilder nowStr = new StringBuilder();
        //  类似贪心法
        int res = 0;
        for (int i = 0;i < len;i++){
            //  判断当前子串中有没有s.charAt(i)
            if (nowStr.indexOf(String.valueOf(s.charAt(i))) >= 0){
                //  如果有，需要删除字符串
                int start = nowStr.indexOf(String.valueOf(s.charAt(i)));
                nowStr.delete(0,start + 1);
            }
            //  如果没有，添加新字符
            nowStr.append(s.charAt(i));
            res = Math.max(res,nowStr.length());
        }
        return res;
    }
}
